The present invention relates to data communication networks. More particularly, the present invention relates to methods for configuring, maintaining connectivity in and utilizing an ATM network.
A local area network (LAN) segment is a computer sub-network which includes multiple stations in the same physical area communicating by forwarding messages on a shared LAN media. Stations on different LAN segments in the same physical area often communicate through a shared LAN switching fabric, which selectively forwards messages received over the fabric to the destination LAN segment. Stations on different LAN segments in different physical areas, in contrast, often communicate over a backbone network which interconnects multiple LAN switches on the edge of the network. In such an arrangement, each LAN switch selectively forwards messages received over the backbone network to the destination LAN segment.
Communication on LAN segments, and communication between LAN segments over LAN switches, is broadcast-oriented. A station desiring to communicate with another station on the same LAN segment does not need to know where the destination station is located on the segment. Instead, the source station relies on the broadcast capability of the LAN media to propagate all messages to all stations on the segment. An interface on the intended destination station captures the message. Other interfaces on the segment ignore the message. Similarly, if a message propagated on a LAN segment is destined for a station on a different LAN segment associated with the same LAN switch, the LAN switch interconnecting the two segments will typically capture and propagate the message on a switching fabric connecting the two segments. In turn, an interface on the LAN switch associated with the intended destination LAN segment captures and propagates the message on the segment. Other interfaces on the LAN switch ignore the message. Again, there is no requirement that the source station know where the intended destination station resides within the network for successful communication. Rather, communication between the stations on different LAN segments over the LAN switch is xe2x80x9cseamlessxe2x80x9d because the stations can communicate as if they are on the same LAN segment.
In contrast, communication over backbone networks is not always broadcast-oriented. One widely-used backbone technology is asynchronous transfer mode (ATM). Communicating over an ATM network requires that point-to-point or point-to-multipoint virtual connections be established between switches on the edge of the network. Thus, it is necessary for complete connectivity in ATM backbone networks to configure every source switch with virtual connections to every destination switch. Such configuration has generally required either manual configuration by a network administrator or implementation of ATM signaling procedures. Additional configuration has been required to maintain connectivity in the event an established link fails. As a result of these configuration and maintenance requirements, performance of ATM backbone networks has been hindered.
ATM""s configuration demands have become even greater with the advent of virtual local area networks (VLANs). A VLAN is an aggregate of LAN segments which are part of the same logical group, but not necessarily the same physical group. By limiting the flow of messages across VLAN boundaries in an ATM network, VLANs can conserve network bandwidth and enhance network security. However, VLANs can at the same time lessen network robustness by requiring configuration of additional overlay virtual connections.
Robustness problems in ATM networks have been further exacerbated by using configuration services which by necessity or design give microprocessors, rather than custom logic, a primary role in message forwarding.
Accordingly, there is a need for more efficient services for configuring and maintaining connectivity in ATM networks.
It is an object of the present invention to provide an improved ATM network in which virtual connections are self-configuring.
It is another object of the present invention to provide an improved ATM network in which multiple requests for virtual connections can be made in a single message.
It is another object of the present invention to provide an improved ATM network in which a first set of virtual connections are self-configuring along a best path.
It is another object of the present invention to provide improved ATM network in which a second set of virtual connections are self-configuring along a next-best path.
It is another object of the present invention to provide an improved ATM network which can support multiple VLANs.
It is another object of the present invention to provide an improved ATM network in which message forwarding is carried out primarily in custom logic.
These and other objects of the present invention are achieved by methods for configuring and utilizing tagged virtual connections between source and destination switches on the edge of an ATM network.
In one aspect of the invention, neighboring switches share topology information. Topology information includes switch identifying information and path cost information. Switch identifying information includes switch identifiers and VLAN information for particular switches. Path cost information includes information about the relative cost of using particular paths to reach particular switches. Topology information is shared by neighboring switches via topology messages. As a result of topology learning, switches learn about other switches and the most efficient paths for forwarding end-user messages to particular switches.
In another aspect of the invention, neighboring switches enable links for tag switching. Link enablement is requested by forwarding hello requests. Hello requests include a range of tag values proposed for use on a particular link. Link enablement is established by forwarding hello responses. Hello responses include a positive or negative acknowledgment of a hello request. As a result of link enablement, switches learn the available links for use when requesting tagged virtual connections for forwarding end-user messages.
In another aspect of the invention, edge switches and combination switches, as source switches, initiate requests for point-to-point tagged virtual connections to one another, as destination switches. Requests for point-to-point tagged virtual connections are initiated by forwarding a tag allocation request to a neighboring switch along the best path to a destination switch. Tag allocation requests include allocation information, including a source switch identifier, a destination switch identifier and a tag value. Source switches initiate a request for each destination switch for each shared VLAN. Multiple requests may be included in a single tag allocation message to conserve network bandwidth. Transit and combination switches, as neighboring switches, respond to each tag allocation request received by relaying a related tag allocation request to another neighboring switch, if any, along the best path to the destination switch. The relay process is repeated until a tag allocation request arrives at the destination switch. Switches select a different outbound tag value for each requested point-to-point virtual connection so that when an end-user message encoded with a particular tag value is subsequently presented for forwarding, the switch will be able to associate the message with a distinct virtual connection between a particular source and destination switch. As a result of point-to-point tag allocation, a full mesh of point-to-point virtual connections is established for forwarding known unicast end-user messages from source switches to destination switches using a simple look-up operation which resolves identifiers encoded in such messages to outbound ATM ports and outbound tags.
In another aspect of the invention, edge switches and combination switches, as source switches, initiate requests for point-to-multipoint tagged virtual connections to one another, as destination switches. Requests for point-to-multipoint tagged virtual connections are initiated by forwarding a set of tag allocation requests to a set of neighboring switches along the spanning tree path to the set of destination switches sharing a VLAN with a source switch. Tag allocation requests include allocation information, including a source switch identifier, an identifier of the shared VLAN and a tag value. Source switches initiate a request for each shared VLAN. Each point-to-multipoint tag allocation request is relayed by transit and combination switches, as neighboring switches, until a set of tag allocation requests arrives at the set of destination switches. As a result of point-to-multipoint tag allocation, a full mesh of point-to-multipoint virtual connections is established for forwarding broadcast, multicast and unknown unicast end-user messages from source switches to destination switches sharing a particular VLAN by performing a simple look-up operation using custom logic which resolves identifiers encoded in such messages to outbound ATM ports and outbound tags.
In another aspect of the invention, end-user messages are forwarded from source switches to destination switches on the established point-to-point tagged virtual connections. On source switches, a destination switch identifier associated with an end-user message is resolved to a forwarding ATM port identifier and a first tag value. The message is forwarded over the forwarding ATM port to a neighboring switch. The neighboring switch resolves the first tag value to a forwarding ATM port identifier and second tag value and forwards the message over the forwarding ATM port to a second neighboring switch, if any. The resolution and forwarding process is repeated by additional neighboring switches, if any, until the end-user message arrives at the destination switch. The resolution and forwarding process may be advantageously implemented in custom logic using a table look-up operation.
In another aspect of the invention, end-user messages are forwarded from source switches to destination switches on the established point-to-multipoint tagged virtual connections. On source switches, the VLAN identifier associated with an end-user message is resolved to a set of forwarding ATM port identifiers and a first set of tag values. The message is forwarded over the set of forwarding ATM ports to a set of neighboring switches. The neighboring switches resolve the first set of tag values to a set of forwarding ATM port identifiers and second set of tag values and forward the message over the set of forwarding ATM ports to a second set of neighboring switches, if any. The resolution and forwarding process is repeated by additional neighboring switches, if any, until the end-user message arrives at the set of destination switches belonging to the shared VLAN. The resolution and forwarding process may be advantageously implemented in custom logic using a table look-up operation.
In another aspect of the invention, switches, in addition to initiating and relaying requests for point-to-point virtual connections to destination switches on the best paths, initiate and relay requests for point-to-point virtual connections on the next-best paths. As a result of next-best path tag allocation, if any best path link between a source and destination switch pair becomes disabled, an end-user message can be advantageously diverted to a next-best path to the destination switch.
The present invention can be better understood by reference to the following detailed description, taken in conjunction with the accompanying drawings which are briefly described below. Of course, the actual scope of the invention is defined by the appended claims.